//1 刚刚，几秒前，几分钟前
/**
 * 毫秒转换友好的显示格式
 * 输出格式：21小时28分钟15秒
 * @param  {[type]} time [description]
 * @return {[type]}      [description]
 */
function timeToDate(time) 
{
    // 获取当前时间戳
    var currentTime = parseInt(new Date().getTime()/1000);
    var diffTime     = currentTime-time;
    var second         = 0;
    var minute         = 0;
    var hour         = 0;
    if (null != diffTime && "" != diffTime) {
        if (diffTime > 60 && diffTime < 60 * 60) {
            diffTime = parseInt(diffTime / 60.0) + "分钟" + parseInt((parseFloat(diffTime / 60.0) - parseInt(diffTime / 60.0)) * 60) + "秒";
        }
        else if (diffTime >= 60 * 60 && diffTime < 60 * 60 * 24) {
            diffTime = parseInt(diffTime / 3600.0) + "小时" + parseInt((parseFloat(diffTime / 3600.0) -
                parseInt(diffTime / 3600.0)) * 60) + "分钟" +
                parseInt((parseFloat((parseFloat(diffTime / 3600.0) - parseInt(diffTime / 3600.0)) * 60) -
                parseInt((parseFloat(diffTime / 3600.0) - parseInt(diffTime / 3600.0)) * 60)) * 60) + "秒";
        }
        else {
            //超过1天
            var date = new Date(parseInt(time) * 1000);
            diffTime = date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();
            //diffTime = parseInt(diffTime) + "秒";
        }
    }
    return diffTime;
}


// 2 现在什么浏览器内核
var browser = {
  versions: function() {
    var u = navigator.userAgent;
    return {
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Firefox') > -1, //火狐内核Gecko
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
            iPhone: u.indexOf('iPhone') > -1 , //iPhone
            iPad: u.indexOf('iPad') > -1, //iPad
            webApp: u.indexOf('Safari') > -1 //Safari
        };
    }()
}
  
if (browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad) {
    alert('移动端');
}



// 3 判断是PC还是移动 
<script type="text/javascript">
    var t1 = new Date().getTime();
    var browser = {
        versions: function () {
            var u = navigator.userAgent, app = navigator.appVersion;
            return {//移动终端浏览器版本信息
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1 //是否web应该程序，没有头部与底部
            };
        } (),
        language: (navigator.browserLanguage || navigator.language).toLowerCase()
    }
    var flag = false;
    //1.是否mobile，否，肯定不是。
    if (browser.versions.mobile) {
        //2.是否ios或android终端，有一个是
        if (browser.versions.android || browser.versions.ios) {
            flag = true;
        }
    }
    if (!flag) {
        console.log('1');
    }
</script>




// 4 判断是否是微信浏览器
function is_weixn(){  
    var ua = navigator.userAgent.toLowerCase();  
    if(ua.match(/MicroMessenger/i)=="micromessenger") {  
        return true;  
    } else {  
        return false;  
    }  
} 


//5 获取地址栏参数
/** 
 * 获取地址栏参数
 * @{string} key 
 */
function getParams(key){
	let params=window.location.herf.split('?')[1]
	params=decodeURI(params).split('&')
	for(let i=0;i<params.length;i++){
		let temp=params[i].split('=')
		if(temp[0]==key) return temp[1]
	}
	return false
}



function findChild(data, fatherId)
{
    // 1 定义空数组存放所有子数据
    let son = []
    // 2 遍历数据
    data.forEach(item => { // item就是所有数据
        // 3 判断
        if (fatherId == item.pid)
        {
            son.push(item)
        }
    })

    return son
}


/**
 * 获取树形数据：传递父编号找到所有子包括孙子重孙子等
 * @params {Array} 数据库数据处理的数据
 * @params {Number} 父编号（注：后期会根据你传递的父编号帮你找子）
 * @return {Array}
 */
 function getTree(data, fatherId)
{
    // 1 找指定数据
    let temp = findChild(data, fatherId)
    console.log(temp)
    // 2 判断
    if (temp.length <= 0)
    {
        // 找不到就终止
        return []
    } else {
        // 找到了遍历所有数据挨个找出其子
        temp.forEach(item => {
            // 判断item有没有子
            if (findChild(data, item.id).length > 0)
            {
                item.children = getTree(data, item.id)
            }
        })
    }

    return temp
}
